package com.robot.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationCompat;

import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    NotificationManager manager;
    private Notification notification;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        manager= (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        //大于8.0系统
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            /***
             * 第一个参数对应NotificationCompat.Builder的通知ID，第二个参数name，用户看到，
             * 第三个参数重要性Ø IMPORTANCE_NONE 关闭通知
             *
             * Ø IMPORTANCE_MIN 开启通知，不会弹出，但没有提示音，状态栏中无显示
             *
             * Ø IMPORTANCE_LOW 开启通知，不会弹出，不发出提示音，状态栏中显示
             *
             * Ø IMPORTANCE_DEFAULT 开启通知，不会弹出，发出提示音，状态栏中显示
             *
             * Ø IMPORTANCE_HIGH 开启通知，会弹出，发出提示音，状态栏中显示
             */
            NotificationChannel channel = new NotificationChannel("zx","测试通知",
                    NotificationManager.IMPORTANCE_HIGH);
            manager.createNotificationChannel(channel);

        }
        //第一个参数Context,第二个参数channeldID，安卓8.0以后设置通知渠道
        /**
         * 常见属性
         * 1. setContentTitle(String string) 设置标题
         *
         * 2. setContentText(String string) 设置文本内容
         *
         * 3. setSmallIcon(int icon) 设置小图标
         *
         * 4. setLargeIcon(Bitmap icon) 设置通知的大图标
         *
         * 5. setColor(int argb) 设置小图标的颜色
         *
         * 6. setContentIntent(PendingIntent intent) 设置点击通知后的跳转意图
         *
         * 7. setAutoCancel(boolean boolean) 设置点击通知后自动清除通知
         *
         * 8. setWhen(long when) 设置通知被创建的时间
         */
        Intent intent = new Intent(this, MainActivity2.class);
        PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);

        notification = new NotificationCompat.Builder(this,"zx")
                .setContentTitle("官方通知")
                .setContentText("康家慧，加油")
                .setSmallIcon(R.drawable.ic_baseline_person_24)
                 .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.ceshi1))
                 .setColor(Color.parseColor("#ff00ff"))
                 .setContentIntent(activity)
                .setAutoCancel(true)
                .build();
    }
    public void sendNotification2(View view) {
        manager.notify(1,notification);
    }

    public void cacelNotification2(View view) {
        manager.cancel(1);
    }
}